Voorbeeld van de instructie On Error

Dit voorbeeld maakt in eerste instantie gebruik van de instructie On Error GoTo om de locatie van een foutafhandelingsroutine binnen een procedure te bepalen. In het voorbeeld wordt foutnummer 55 veroorzaakt door een poging een open bestand te wissen. De fout wordt afgehandeld in de foutafhandelingsroutine en de besturing wordt vervolgens weer overgedragen aan de instructie die de fout veroorzaakte. De instructie On Error GoTo 0 sluit de foutonderschepping af. Vervolgens wordt de instructie On Error Resume Next gebruikt om de foutonderschepping uit te stellen zodat de context van de fout veroorzaakt door de volgende instructie, zeker wordt herkend. Err.Clear wordt gebruikt om de eigenschappen van het object Err te wissen nadat de fout is afgehandeld.

Sub OnErrorStatementDemo()
    On Error GoTo FoutAfhandeling    ' Enable error-handling routine.
    Open "TESTBSTD" For Output As #1    ' Open file for output.
    Kill "TESTBESTAND"    ' Attempt to delete open
                ' file.
    On Error Goto 0    ' Turn off error trapping.
    On Error Resume Next    ' Defer error trapping.
    ObjectRef = GetObject("MyWord.Basic")    ' Try to start nonexistent
                ' object, then test for
'Check for likely Automation errors.
    If Err.Number = 440 Or Err.Number = 432 Then
        ' Tell user what happened. Then clear the Err object.
        Msg = "Er was een fout bij het openen van het automatiseringsobject!"
        MsgBox Msg, , "Uitgestelde fouttest"
        Err.Clear    ' Clear Err object fields
    End If    
Exit Sub        ' Exit to avoid handler.
FoutAfhandeling:    ' Error-handling routine.
    Select Case Err.Number    ' Evaluate error number.
        Case 55    ' "Bestand reeds geopend" error.
            Close #1    ' Close open file.
        Case Else
            ' Handle other situations here... 
    End Select
    Resume    ' Resume execution at same line
                ' that caused the error.
End Sub